'




':
'
'a-
'
'd-
'
'w-
'
'/-
'



CLS
SCREEN 12
WINDOW (0, 0)-(640, 480)
CONST pi = 3.1415926#
xkor = 320   'न
ykor = 240      'ࠡ
puli = 5
DIM xz(7), yz(7), xe(7), ye(7), xp(puli), yp(puli), vxp(puli), vyp(puli), tll(puli)
xz(1) = 0
xz(2) = 8
xz(3) = -8
xz(4) = 0
yz(1) = 20
yz(2) = -10
yz(3) = -10
yz(4) = 0
yz(6) = -20
yz(5) = -8
yz(7) = -8
xz(6) = 0
xz(5) = 4
xz(7) = -4


back:
FOR i = 1 TO 1000: NEXT i

LINE (xe(1), ye(1))-(xe(2), ye(2)), 0
LINE (xe(4), ye(4))-(xe(2), ye(2)), 0
LINE (xe(4), ye(4))-(xe(3), ye(3)), 0
LINE (xe(1), ye(1))-(xe(3), ye(3)), 0
LINE (xe(5), ye(5))-(xe(6), ye(6)), 0
LINE (xe(7), ye(7))-(xe(6), ye(6)), 0
FOR i = 1 TO puli
'IF tll(i) > 0 THEN
CIRCLE (xp(i), yp(i)), 1, 0
'END IF
NEXT i



c$ = INKEY$
IF c$ <> "" THEN
IF ASC(c$) = 27 THEN END
END IF

FOR i = 1 TO puli
xp(i) = xp(i) + vxp(i)
yp(i) = yp(i) + vyp(i)
tll(i) = tll(i) - 1
IF tll(i) < 0 THEN
tll(i) = 0
vxp(i) = 0
vyp(i) = 0
END IF
NEXT i
IF c$ = "d" THEN l = l + 20
IF c$ = "a" THEN l = l - 20
IF c$ = "w" THEN
v = v + .1
count = 1
END IF

' ***********************************************
IF c$ = "/" THEN           ' IF ASC(c$) = 32 THEN
FOR i = 1 TO puli
IF tll(i) = 0 THEN
vxp(i) = 8 * COS((90 - l) * pi / 180)
vyp(i) = 8 * SIN((90 - l) * pi / 180)
tll(i) = 200
xp(i) = xkor + vxp(i)
yp(i) = ykor + vyp(i)
EXIT FOR
END IF
NEXT i
END IF
IF c$ = "" THEN
v = 0
count = 0
END IF
IF c$ = "w" THEN
vx = vx + v * COS((90 - l) * pi / 180)
vy = vy + v * SIN((90 - l) * pi / 180)
END IF
c$ = ""
IF l < 0 THEN l = l + 360
IF l > 360 THEN l = l - 360
xkor = xkor + vx
ykor = ykor + vy
IF xkor < 0 THEN xkor = xkor + 640
IF xkor > 640 THEN xkor = xkor - 640
IF ykor < 0 THEN ykor = ykor + 480
IF ykor > 480 THEN ykor = ykor - 480
FOR i = 1 TO 7
xpr = xz(i)
ypr = yz(i)

xe(i) = xpr * COS(l * pi / 180) + ypr * SIN(l * pi / 180) + xkor
ye(i) = -xpr * SIN(l * pi / 180) + ypr * COS(l * pi / 180) + ykor
NEXT i
LINE (xe(1), ye(1))-(xe(2), ye(2))
LINE (xe(4), ye(4))-(xe(2), ye(2))
LINE (xe(4), ye(4))-(xe(3), ye(3))
LINE (xe(1), ye(1))-(xe(3), ye(3))
                   
IF count <> 0 THEN
LINE (xe(5), ye(5))-(xe(6), ye(6))
LINE (xe(7), ye(7))-(xe(6), ye(6))
END IF

FOR i = 1 TO puli
IF tll(i) > 0 THEN
CIRCLE (xp(i), yp(i)), 1
END IF
NEXT i
FOR i = 1 TO 400: NEXT i
GOTO back



Сайт создан в системе uCoz